/**
 * @param {number[]} nums
 * @return {number}
 */
export var rob = function (nums) {
  if (nums.length === 0) return 0
  if (nums.length === 1) return nums[0]
  if (nums.length === 2) return Math.max(nums[0], nums[1])
  let sA = nums[0] // 行到前两个房子时的最大金额
  let sB = Math.max(sA, nums[1]) // 行至前一个房子时的最大金额
  for (let i = 2; i < nums.length; i++) {
    // 从第三个房子开始
    let h = nums[i] //当前房子金额
    const tB = sB // 临时记录上一个房子的最大金额
    sB = Math.max(sB, sA + h) // 当前房子取得的最大金额
    sA = tB
  }
  return sB
}
